Automatic Derivation Of Software Engineering Artifact Attributes From Product Or Service Development Concepts

ABSTRACT

Various embodiments of the teachings herein include a computer-implemented method for automatic derivation of attributes of software engineering artifacts arising from technical boundary condition of products or services comprising: deducing technical requirements based on classifications of the technical boundary conditions; mapping the deduced technical requirements of the artifacts to engineering disciplines and concerns; mapping the calculated engineering artifacts to responsibilities; adapting the classification of the technical boundary conditions based on the evaluation results in iterations; calculating a distribution of the classification space based on a calculation of a multi-selection in technical boundary taxa; and calculating distribution and quartiles.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to EP Application No. 20192815.7 filedAug. 26, 2020 and EP Application No. 20192519.5 filed Aug. 25, 2020, thecontents of which are hereby incorporated by reference in theirentirety.

TECHNICAL FIELD

The present disclosure is related to software engineering. Variousembodiments of the teachings herein include computer-implemented methodsand/or computer systems for automatic derivation of attributes ofsoftware engineering artifacts.

BACKGROUND

To achieve a certain product or service quality, artifact quality mustbe aligned of the variety of engineering disciplines, especiallysoftware engineering disciplines depending on the underlying task orchallenge. Unaligned artifact quality creates quality deficits. Up tonow, no technical solution is provided to this sort of problem whichwould allow for differentiation between segments of an initial conceptor even for prioritization. Organizational or non-technical proceduresare applied sometimes to create consistent attributes for softwareengineering artifacts, meaning engineering goals, but usually fail tocreate alignment especially for fairly complex systems or frequentchanges in the development task.

SUMMARY

In view of this, the teachings of the present disclosure include methodsfor successful implementations of projects, product, or servicedevelopments that allows for an efficient evaluation of an increasednumber of requirements within less or the same time to calculate aconsistent set of software engineering artifact attributes. For example,some embodiments of the teachings herein include a computer-implementedmethod for automatic derivation of attributes of software engineeringartifacts, which attributes arise from technical boundary condition ofproducts or services, comprising the measures: deduction of technicalrequirements by an automated software-based process based onclassifications of the technical boundary conditions, mapping thededuced technical requirements of the artifacts to engineeringdisciplines and concerns by an automated software-based process, mappingthe calculated engineering artifacts to responsibilities, adaption ofthe classification of the technical boundary conditions based on theevaluation results in iterations, distribution calculation (DC) of theclassification space, wherein the distribution calculation of theclassification space is based on a calculation of a multi-selection intechnical boundary taxa, and a calculation of distribution andquartiles.

In some embodiments, the mapping of the deduced technical requirementsof the artifacts to engineering disciplines and concerns at first iskept between a segment choice of the technical requirements and atsecond for each multi-selection possibility per segment, the relationsto all engineering disciplines and concerns are counted.

In some embodiments, the method further comprises the measures:evaluation of a specific multi-selection, wherein the relationships,built in the mapping step, are counted and related to the distributionof possible multi-selections split up into quartiles, and selection of aquartile based on technical requirements, wherein the quartiledefinition is based on a calculated distribution which entails analgorithm considering all selection possibilities of the classificationspace.

In some embodiments, the method further comprises evaluation of themapping results based on software metrics, wherein the software metricsmeasure the completeness selectivity of the mapping.

In some embodiments, the distribution calculation of the classificationspace is based on a calculation of weighted multi-selection in technicalboundary taxa and a calculation of distribution and quartiles.

In some embodiments, the method includes placing a weight is placed onthe selection of a technical boundary condition based on technicalrequirements, wherein the weight is multiplied with the weight of thecombination created by the multi-selection and used the resulting valueto look up the quartile in the distribution.

In some embodiments, the method includes placing a weight on therelation between the engineering disciplines and concerns and theproducts or services development requirements, wherein the relationweight is used as a count absorbed by the weight calculation.

In some embodiments, the distribution calculation results are stored andevaluated for further subjecting the calculation results to a metricbased ranking.

As another example, some embodiments include a computer system forautomatic derivation of software engineering artifacts, comprising afirst subsystem with the components: a classifier software component forthe classification of the technical boundary conditions, a calculationsoftware component for the deduction of the technical requirements, afirst mapping software component for mapping the technical requirementsto engineering artifacts, an I/O-component for receiving the technicalboundary conditions data and for providing the calculation results, astorage component, and a second subsystem which provides a distributioncalculator software component for the distribution of theclassifications, wherein the distribution calculator software componentfor the distribution of the classifications provides a calculation ofmulti-selection and a calculation of distribution and quartiles.

In some embodiments, the distribution calculator software component forthe distribution of the classifications provides a calculation ofweighted multi-selection combinations and a calculation of distributionand quartiles.

In some embodiments, the storage component comprises at least a database containing relevant data for the mapping processes.

In some embodiments, the distribution calculator software component hasaccess to the storage component for storing the calculation results.

In some embodiments, the first subsystem comprises an evaluationsoftware component for subjecting the calculation results to a metricbased ranking.

In some embodiments, the program is executed by a computer, cause thecomputer to carry out the steps of the methods described herein.

As another example, some embodiments include a provision apparatus forthe computer program products described herein, wherein the provisionapparatus stores and/or provides the computer program product.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings are intended to provide a better understandingof the embodiments described herein. They show embodiments and serve inconjunction with the description to explain principles and concepts ofthe disclosed subject matter. Other embodiments and many of the citedadvantages will emerge in respect of the drawings. The elements of thedrawings are not necessarily shown in scale with one another. Identicalreference characters here designate identical components or componentsof comparable effect. The properties, features and advantages of theteachings described herein and the manner in which they are achievedwill become clearer and more distinctly comprehensible in conjunctionwith the description of the exemplary embodiments that follows, thesebeing explained in more detail in conjunction with the FIGS. 1 to 4, ina schematic depiction:

FIG. 1 shows a diagram for an exemplary embodiment of the system withfirst and second subsystem;

FIG. 2 shows the first subsystem with its components;

FIG. 3 shows the relations between the method steps; and

FIG. 4 shows a diagram for the distribution calculation interaction withmodules of the first subsystem.

DETAILED DESCRIPTION

The teachings of the present embodiments may be implemented in acomputer-implemented method for automatic derivation of attributes ofsoftware engineering artifacts, which attributes arise from technicalboundary condition of products or services, comprising the measures:deduction of technical requirements by an automated software-basedprocess based on classifications of the technical boundary conditions,mapping the deduced technical requirements of the artifacts toengineering disciplines and concerns by an automated software-basedprocess, mapping the calculated engineering artifacts toresponsibilities, adaption of the classification of the technicalboundary conditions based on the evaluation results in iterations,distribution calculation of the classification space, wherein thedistribution calculation of the classification space is based on acalculation of a multi-selection in technical boundary taxa and acalculation of distribution and quartiles.

In some embodiments, the multi-selection step provides a sufficientlyfine-grained rating of products or services developments and theirrequirements. While single selection up to now only providedifferentiations of about 2·10⁶ possibilities, the extension tomulti-selection allows for some orders of magnitude more possibilitiesof about 2·10¹². These numbers are based on an exemplary embodiment ofthe method, which has 9 taxa, classification dimensions, and therefore a9-dimensional selection space, with 3 to 16 different selections. Thenumber of possible selections meaning the size of the selection space.Single selection is the product of the numbers of different selectionsin each taxa. Multiple selection is the product of pow(2,n) of each taxawith n=number of different selections and prioritized multiple selectionis the product of pow(c,n) of each taxa with c=number of applicablepriorities. Reasonable numbers of c are between 3 and 7.

In some embodiments, the mapping of the deduced technical requirementsof the artifacts to engineering disciplines and concerns at first iskept between a segment choice of the technical requirements and atsecond for each multi-selection possibility per segment, the relationsto all engineering disciplines and concerns are counted. This way, theengineering disciplines and concerns are related to the products orservices development requirements in a comprehensible way.

In some embodiments, the method further comprises the measures:evaluation of a specific multi-selection, wherein the relationships,built in the mapping step, are counted and related to the distributionof possible multi-selections split up into quartiles, and selection of aquartile based on technical requirements, wherein the quartiledefinition is based on a calculated distribution which entails analgorithm considering all selection possibilities of the classificationspace. This allows to relate a given multi-selection to its engineeringdifficulty. The actual advantage is that the mapping stays constant intime and effort irrespective of the size of the mapping space. The prizefor the large mapping space needs to be payed when calculating thequartiles, which is outside the usual workflow of classification of aproblem and finding its engineering difficulty.

In some embodiments, the method further comprises the measure ofevaluation of the mapping results based on software metrics, wherein thesoftware metrics measure the completeness selectivity of the mapping.The software metrics do not measure the underlying artifacts. Thismeasure provides a check whether the mapping is useful to theapplication.

In some embodiments, the distribution calculation of the classificationspace is based on a calculation of weighted multi-selection in technicalboundary taxa and a calculation of distribution and quartiles. Thisallows users to express priorities by weighing of choices.

In some embodiments, a weight is placed on the selection of a technicalboundary condition based on technical requirements, the weight ismultiplied with the weight of the combination created by themulti-selection and used the resulting value to look up the quartile inthe distribution. Quartiles are not selected explicitly but provide amapping trick to reduce complexity. The distribution calculation isinfluenced by the dimension of the weighted selections. For example, all9 dimensions are weighted, so it takes with 4 weights, meaning 4⁹ timeslonger to calculate the distribution with standard algorithms for thesingle selection case. With multi-selections, the number of refinementsgoes to the exponent. We get to combination numbers of 10²⁸ or 10³³,compare the above-described embodiments.

In some embodiments, a weight is placed on the relation between theengineering disciplines and concerns and the products or servicesdevelopment requirements, and the relation weight is used as a countabsorbed by the weight calculation. The calculation of the actualengineering complexity stays as small and fast as it was with puremulti-selection in both cases.

In some embodiments, the method allows a combination of both prioriesthe mapping and the selection is allowed, depending on users'preference. For example, the placing of the weights influences therating of e.g. engineering difficulty.

In some embodiments, the distribution calculation results are stored andevaluated for further subjecting the calculation results to a metricbased ranking.

In some embodiments, the method further comprises the measures ofprocessing an executable, which performs a distribution calculation ofthe classification space, wherein the distribution calculation of theclassification space is at least based on a distribution and quartiles,wherein the process of the executable comprises the steps of calculationof the combination vectors at system start, reading mapping data andcalculation probabilistic distribution and quartiles as well aspublishing new distribution to engineering goal calculation. Segmentsmeaning products or services or their development requirements can bedescribed by several segments. The engineering goals are calculated byan integrated executable which calculates the underlying distribution.The calculation may be implemented in Excel in an adapted VBA scriptproviding an achieved speed up to about 3 seconds compared to severalminutes. No more system interruptions have to be dealt with and muchhigher stability is provided.

In some embodiments, the reading step and the publishing step areseparated. The separation of the steps allows the user to check thequality of the new distribution before using it. In the example of theabove mentioned VBA script there is a hidden performance improvement,since all excel calculation and updating can be switched off during thereading step. This could take minutes depending on size and complexityof the excel workbook during which excel is unresponsive and instable.

In some embodiments, the distribution calculation algorithm calculatesthe probability of a value in the distribution of a number ofcombinations and the quartiles underlying the engineering difficultycalculation are derived from the accumulated probabilities for eachvalue. Instead of the occurrence of a value for each possible selection,which could be up to 2.2 millions, the algorithms may be written in VBAand C++. For example, 512 combinations, representing the permutation ofa selection vector (0/1) size n instead of approximately 2.2 million hasthe same result in distribution and quartiles, while n is the dimensionof the solution space.

In some embodiments, the distribution calculation of the classificationspace is based on a calculation of a multi-selection in technicalboundary taxa and a calculation of distribution and quartiles.

In some embodiments, the method further comprises the measures:normalization of the selection-counts, especially the multi-selectioncounts, creation of value-probability-pairs to calculate the probabilityof a value in the distribution calculation and a distributioncalculation from these value-probability-pairs. This provides theadvantage of reduction of size of the frequency distribution. It's then-time the normalization value instead of the product of maximumrelation counts for each segment, while n is the number of dimensions ofthe solution space, e.g. n=9. The creation of value-probability-pairsespecially is done for each segment. These pairs can be calculated in alinear algorithm from the normalized choice combinations in less than 5ms in C++. The values add up the probabilities multiply over thesegments. The resulting probability is added to the respective value ina frequency distribution. As the value-probability-pairs are a lot lessthat the original relation counts or normalized relation counts for eachsegment, the algorithm is orders of magnitude faster. In C++ forexample, single-threaded the calculation time is unnoticeable, less than20 ms. In excel VBA e.g. it is below 1 second.

In some embodiments, the method further comprises the measures: countdata for frequency distribution per segment, prioritization ofcombinations to segment frequency distributions, combination of segmentfrequency distributions to a classification space frequencydistributions. Frequency distribution may be displayed in histograms.

In some embodiments, the computer-implemented method further comprisesthe measure of horizontal stripping, wherein blocks of the solutionspace are given to separate threads by provided disjunct index subsets,therefrom resulting buffered frequency distributions are merged into thecombined result in parallel by providing disjunct frequencydistributions' values to the threads. For example, a speedup is reachedby the horizontal striping. Blocks of an n-dimensional solution space,in a preferred embodiment n=9, are given to separate threads by provideddisjunct index subsets. The resulting buffered histograms are mergedinto the combined result in parallel e.g. by providing disjuncthistogram values to the threads such that no synchronization is needed.

In a CPU based example, with current hardware 4 Kernels, the FPUs Speedup against single threaded is up to 25%. In a GPU based example, basedon applied massive parallelism (amp), a 32 bit library doesn't scale asnecc. For precise calculation 128 bit library is necessary. Forvalidation, a multi-precision library is used with the advantage thatnumber sizes can be set in the program as needed to overcome the fixednumber sizes by usual programming languages and math libraries. Blockbased, like CPU, but with 50 to 100 time more threads like CPU-memoryoverhead makes it slow. Laptop GPUs, for example share their main memorywith CPU and therefor are slower.

In some embodiments, the method further comprises the measure ofvertical stripping, wherein two or more segments' frequencydistributions are combined to a combined frequency distribution, whichcombined frequency distribution further is reduced to avalue-probability-pair frequency distribution and wherein thesecombination and reduction steps are repeated until all product orservice development segments are frequency distributions are combined.As the combined histograms are very sparse the reduce step eliminatesone or two orders of magnitude in input to the next combination step theoverall algorithm is several orders of magnitudes faster than horizontalstriping. For example, with 5 prioritization weights and 1000 asnormalization factor it is less than 50 ms to almost estimated 7000 daysor 206200 evaluated combinations to 1.32915.10¹⁴ evaluated combinations,see FIG. 6. For example, the vertical striping algorithm can beimplemented directly in VBA as is uses neither multi-threading nor GPUcalls.

In some embodiments, the distribution calculation results are stored andevaluated for further subjecting the calculation results to a metricbased ranking.

In some embodiments, there is a computer system for automatic derivationof software engineering artifacts, comprising a first subsystem with thecomponents: a classifier software component for the classification ofthe technical boundary conditions, a calculation software component forthe deduction of the technical requirements, a first mapping softwarecomponent for mapping the technical requirements to engineeringartifacts, an I/O-component for receiving the technical boundaryconditions data and for providing the calculation results, a storagecomponent and a second subsystem which provides a distributioncalculator software component for the distribution of theclassifications, wherein the distribution calculator software componentfor the distribution of the classifications provides a calculation ofmulti-selection and a calculation of distribution and quartiles.

In some embodiments, the distribution calculator software component forthe distribution of the classifications provides a calculation ofweighted multi-selection combinations and a calculation of distributionand quartiles.

In some embodiments, the storage component comprises at least a database containing relevant data for the mapping processes.

In some embodiments, the distribution calculator software component hasaccess to the storage component for storing the calculation results.

In some embodiments, the first subsystem comprises an evaluationsoftware component for subjecting the calculation results to a metricbased ranking.

In some embodiments, the computer system provides an executableperforming a distribution calculation of the classification space,providing the distribution calculation of the classification space,which is at least based on a distribution and quartiles, wherein theexecutable comprises the further software components for calculation ofthe combination vectors at system start, reading mapping data andcalculation probabilistic distribution and quartiles, publishing newdistribution to engineering goal calculation.

In some embodiments, the computer system is comprised in one systemdevice instead of several subsystems. This results in an advantage ofspeed up to about 3 seconds compared to several minutes. No more systeminterruption are to be dealt with and higher stability is provided. Theneed for an external tool is eliminated. With this approach, we nolonger rely on advanced hardware, that would be limited to a couple oforders of magnitude. The presented method and system allow a speed up of23 orders of magnitudes.

As another example, some embodiments include a computer program productis claimed, having program instructions which, when the program isexecuted by a computer, cause the computer to carry out the steps of themethods described herein. Furthermore, a provision apparatus for storingand/or providing the computer program product is a data storage mediumthat stores and/or provides the computer program product, for example.In some embodiments, the provision apparatus is a network service, acomputer system, a server system, particularly a distributed computersystem, a cloud-based computer system and/or a virtual computer systemthat stores and/or provides the computer program product preferably inthe form of a data stream, for example.

This provision is effected as a download in the form of a program datablock and/or instruction data block, e.g. a file, particularly as adownload file, or a data stream, particularly as a download data stream,of the complete computer program product, for example. This provisioncan alternatively be affected as a partial download that consists ofmultiple parts and is downloaded particularly via a peer-to-peer networkor provided as a data stream, for example. Such a computer programproduct is read in, for example using the provision apparatus in theform of the data storage medium, in a system and executes the programinstructions, so that the methods described herein may be executed on acomputer, or configures the creation device such that it creates citedsystem and/or execution unit.

Definitions

As used herein, the term technical system refers, for example, to adevice, apparatus, or a plant. A technical system can, for example, be afield device, a generator or a power plant, e.g. a wind turbine, a solarpower plant or a water-power plant. In some embodiments, the technicalsystem comprises a plurality of hardware components and/or softwarecomponents. Furthermore, the technical system can, for example, compriseat least one component having a communication interface configured toconnect the apparatus and/or a test environment.

Unless specifically stated otherwise, as apparent from the followingdiscussions, it is appreciated that throughout the specificationdiscussions utilizing terms such as “processing”, “computing”,“computer-based”, “calculating”, “determining”, “generating”,“configuring” or the like, refer to the action and/or processes of acomputer that manipulates and/or transforms data into other data, saiddata represented as physical, e.g. such as electronic, quantities. Theterm “computer” should be expansively construed to cover any kind ofelectronic device with data processing capabilities, including, by wayof non-limiting example, personal computers, servers, handheld computersystems, Pocket PC devices, Cellular communication device and othercommunication devices with computing capabilities, processors and otherelectronic computing devices.

As used herein, the term “processor” refers, for example, tocontrollers, microcontrollers (e.g. digital signal processor (DSP)possibly in combination with memory and storage units memory unitstoring computer-readable instructions, application specific integratedcircuit “ASIC”, etc.), processor cores, central processing units,integrated circuits/processing circuitry (e.g. application specificintegrated circuit “ASIC”, field programmable gate arrays “FPGA” etc.)or digital signal processors. Furthermore, the term “processor” can, forexample, refer to virtual processors, virtual CPUs, soft processors orsoft CPUs. Moreover, said processor can, for example, be configured toexecute computer readable instructions such that said processor beconfigured to perform functions which implement the teachings herein.

As used herein, the term “module” refers, for example, to a processorand/or a memory unit storing computer-readable instructions. Forexample, the processor is specifically configured to execute thecomputer readable instructions such that said processor is configured toperform functions which implement the methods herein, such as a step ofthe method. Furthermore, the term “module” can, for example, refer tomeans (e.g., a processor) which are configured to implement/executefunctions/steps of the methods.

As used herein, the term “subtree”, “tree” or the like, refer, forexample, to data structures storing information about the technicalsystem and/or components of the technical system. In some embodiments, asubtree is a branch of a (component fault) tree or a partial (componentfault) tree, defined, for example, by a selected node in the tree as toplevel node of the subtree.

As used herein, the term “model”, “component”, “failure mode” and otherelements of a component fault tree or the like, refer, for example,especially in conjunction with a subtree or tree to data structurescontaining information about the technical system and/or its components.

As used herein, the term “acquisition module” refers to a sensor ormeasurement equipment to measure a physical quantity. For example, anacquisition module can be a LIDAR to measure upcoming guests of windand/or an acceleration sensor to measure the acceleration of the windturbine and/or a speed sensor to measure a rotor speed of the windturbine and/or a pitch angle sensor to measure a pitch angle of bladesof a wind turbine and/or a power sensor to measure generated electricalpower of a wind turbine and/or a speed sensor to measure an actual windspeed driving the wind turbine.

In some embodiments, the systems and/or methods are implemented by aprocessor and/or a memory device unless otherwise noted. In detail, toimplement and/or execute the methods, components, devices etc. compriseat least one processor and/or at least one memory device unlessotherwise noted. Additionally, the method, components, devices etc.comprise, for example, other features known by a skilled person. Forexample, these features can be an input device, like a computer mouse,or a display device, like a TFT-display.

In some embodiments, the method for successful implementations ofprojects, product, or service developments or even of new businessmodels demands contains a scalable and reproducible deduction oftechnical concerns. The provided semi-automated method for example helpsto define cornerstones of an engineering strategy by determining theminimal needed quality of core artifacts of the engineering andoperation process, like requirements, enterprise architecture, sourcecode, test strategy, test plan, change requests, etc. These artifactscan be part of an engineering canvas, for example comprising severalbuilding blocks like requirements management, architecture management,etc., see Tab. 1.

In some embodiments, the method comprises two main processes. On the onehand, the process definition. First, there are basic definitions likeroles, artifacts, engineering concerns, building block refinements,representing the taxa for classification, to be considered. Further,there is an initial concept or canvas concerning a product or serviceidea, there are relationships, mapping to engineering concerns, softwareengineering canvas, and an artifact role mapping. These are complementedby a validation of the definition and mappings, e.g. completeness andvariance.

Finally there could be an evaluation by examples. On the other hand, themethod comprises the process Goal derivation. In tabular 1 for example,a results overview of the top-level engineering goals is shown.

TABLE 1 Example of Interface: Assignment Software Engineering BuildingBlocks (SEBB) to quality levels Requirements Architecture SoftwareDelivery & Operations management management implementation TestDeployment management Maintenance 1.5 2 2 2 2 2 2 Basic EngineeringQuality 4 4 4 4 4 4 4 Peak Engineering Quality 2 4 2 1 2.5 4 4 MinAutomation grade 3 4 4 4 4 4 4 Max Automation grade 2 4 3 3 4 4 4 Min 34 4 4 4 4 4 4 Max Estimation capability

Needed quality of an artifact means that it has to contain specificinformation items and, depending on the quality levels, quantitativedata that helps to control the development process and the maturity andcompleteness of the artifacts. In some embodiments, the method may befocused on artifacts, not on the process how these artifacts are createdand maintained and can therefore be used regardless of the underlyingdevelopment process.

In a first step, technical boundary conditions are identified andclassified. Then, the technical requirements are deduced in an automatedsoftware-based process. The relations between specific building blockrefinements of the initial concept con and the requirement types req aredefined and justified by a so-called Mapping map-con, see FIG. 3. Thisstep is based on a model that allows selecting the major characteristicsof new projects, product or service developments or even of new businessmodels. This model can be implemented in Microsoft Excel. For users'selections, single selections in drop down boxes are preferablyprovided.

The deduced technical requirements can be classified in requirementtypes that have an impact on implementation, operation of products andservices or even the design. Concerning the before mentioned qualitylevels, an overall requirements severity for a project, product orservice development is calculated based on this selection. Thisrequirements severity level for example is between 0 and 4 and definesthe minimum quality to be achieved, and therefore the minimum contentthat the key artifacts of the project, product or service developmenthave to contain. Additionally, suggestions for quality levels can becalculated for the distinct key artifacts of an engineering project.

The requirements, a test plan, source code etc can define differentimpacts on the needed content and quality of the distinct artifacts.Specifying the required quality levels of the key artifacts that are forexample organized along major phases of a software development project,can be based on a software engineering template.

In a further step of this automated software-based process, thesetechnical requirements are mapped to engineering artifacts and concerns,see FIG. 3, map-con. For the automated calculation of quality levels, anumber of mappings are defined in the before mentioned model. DifferentRequirement Types req are derived from different content and qualitythat is needed for the artifacts of a project. E.g. the requirementscomplexity is much higher when dealing with a complex multi-levelproject. The mapping of the requirement types for example to a softwareengineering template defines a minimum quality level for the keysoftware artifacts based on the characteristics of the requirementtypes. In an advantageous embodiment of the invention the deducedengineering artifacts are further mapped to responsibilities.

This process can be followed by an evaluation step, see Tab.2, that isbased on software metrics. In an embodiment, the evaluation results areused to adapt the initial classification of the technical boundaryconditions in several iterations.

TABLE 2 Definition process Basic Plausibility definitions MappingsDistribution checks

Evaluation Artifacts Concept- Concept- Complete- Test Roles to- and nessscenarios Concept Engineering Engineering Statistics elements concernsgoal Engineering Software calculation concerns engineering on EC Metricstemplate (in second (in first Artifact- subsystem 2) subsystem 1)quality- mapping Artifact- automation- mapping Valuation mappingCollaboration mapping (in first subsystem 1)

As shown in FIG. 3, the model does not draw a direct relation between aninitial concept and the software engineering template SEC, but uses socalled requirements types req to decouple the two sides in order toreduce the effort for defining and describing the relationships between.Furthermore, the requirements types req help in narrowing the semanticgap. A major benefit is the refinement of the problem space and animprovement of the mapping characteristics. The requirement types reqare kind of a middle-tier that facilitates relating a developmentconcept with a software engineering canvas SEC. The requirement typesreq classify a software or system service or a software product fromvarious key demands, like functional suitability, functional quality,engineering quality, and operational quality. Depending on theimportance of the individual requirement types req this has an impact onthe way development and operations of a service have to be carried out.

The defined mappings, map-con, map-reg, relate every element of themethod to each other, see FIG. 3. In the first place, there is aconcept, con, for example a project idea, a development plan, a businessmodel canvas, which comprises several Building blocks BB or BuildingBlock Refinements BBR. In the concept-to-requirements-mapping, map-con,technical requirements req are deduced in an automated software-basedprocess.

The concrete form of the concept con, how complex or multi-sided it is,has an impact on the requirement types, e.g. requirements' complexity,resulting in different content and quality that is needed for theartifacts of a project, compare Tab.3. Both mappings, map-con, map-reg,for example provide an automated calculation of the quality levelsrespectively.

In the requirements-to-engineering-artifacts-mapping, map-req, technicalrequirements are mapped to engineering artifacts. In the field ofsoftware engineering, this mapping defines a minimum quality level forthe key software artifacts based on the characteristics of therequirement types. The requirements-to-engineering-artifacts-mapping,map-req, for example results in software engineering building blocksSEBB. With respect to an underlying software engineering canvas SEC andthe derived software engineering building blocks SEBB core artifacts CAare obtained. For each key software or role artifact CA and for eachquality level respectively, the necessary roles for developing andmaintaining the artifact as well as which roles should use the artifactin order to be able to fulfil the tasks of the role are defined.

Generally, any mapping is explicitly specified and can be modified, e.g.in the model, in order to better reflect the needs of a specificorganization or division. Such modifications would also allow, to removeor add requirement types, to change the impact of the concept elementson the requirement types, to change the minimum required quality levelfor key software artifacts, to add or remove key artifacts, and toredefine the required roles for each artifact.

TABLE 3 Automated derivation process Concept Engineering Artifactrelated Classification 

difficulty 

goals 

Select on entry of Calculate the Quality each segment of value for eachAutomation grade the initial concept engineering Evaluation of projectidea, concern map-con, capability development and relate using Artifactplan, business the distribution collaboration model canvas of allpossible elections. Aggregate the ratings over all engineering concerns(Average)

In some embodiments, the method is suitably executed by a computersystem, see FIGS. 1 and 2, comprising a classifier software component,class, for the classification of the technical boundary conditions, acalculation software component, map-con, for the deduction of thetechnical requirements, req, and at least one mapping softwarecomponent, map-req, for mapping the technical requirements toengineering artifacts, disciplines and concerns. The computer systemfurther comprises an I/O-component, I/O, for receiving the technicalboundary conditions data and for providing the calculation results,especially for the input of classification and mapping data and for theoutput of engineering goals and respective mappings.

In some embodiments, the computer system comprises at least a storagecomponent, stor, the storage component e.g. comprising at least a database containing relevant data for the mapping processes. In the storagecomponent, stor, basic definitions, mappings and distributions arestored. In an advantageous embodiment of the invention, these componentsare combined in a first subsystem. In some embodiments, a secondsubsystem provides a distribution calculator software component for thedistribution of the classifications, which is a calculation ofsingle-selection combinations and/or a calculation of distribution andquartiles. The distribution calculation results are stored in thestorage component. In some embodiments, the first subsystem comprises anevaluation software component for subjecting these results to a metricbased ranking. The I/O-component provides scalable and reproduciblecalculation results.

FIG. 4 shows a diagram for the distribution calculation DC interactionwith the interface module I/O and storage module, stor, of the firstsubsystem 1. In some embodiments, the interface component I/O providesinput of classification and mapping data to the distribution calculationDC in the second subsystem 2. The distribution calculation module DCuses the mapping, map-con, between concept and engineering concerns tocalculate a distribution of all possible classifications, req. Thisresulting distribution is created and stored to the datastore, store. Inthe calculation of the distribution and quartiles, all combinations canbe enumerated using an odometer with a wheel for each segment of theconcept, con. The number of digits per wheel are the number ofselections in a segment. The value of the digit holds or refers to thevalue of a selected refinement. The value of a combination is the sum ofthe values of all selected refinements. For all combination values, ahistogram of the distribution is created for the quartiles to becalculated easily. The overall number of combinations is the product ofall segment combinations. We create a distribution for each engineeringconcern. The interface component I/O further provides the output ofengineering goals and mappings to a user.

In some embodiments, the system provides an automated mapping between aconcept, con, and artifact-based engineering goals. Selections in theconcept segments are provided to the system as input data. Output, forexample, are artifact-names with quality grade, automation grade andestimations capability. Grades are aggregated at discipline andorganization level to provide an overview.

The main challenge of the described method is to bridge the semantic gapbetween concept and engineering artifacts in a comprehensible way forthe definition of the mapping and the evaluation of a concept selection.Therefor mappings between intermediate values are provided, like theconcept-to-requirements-mapping, map-con, and therequirements-to-engineering-artifacts-mapping, map-req, but also furthermappings from a software engineering canvas, SEC, to artifact quality,automation grade and/or evaluation capability. The methods describedherein include a fully automated calculation, which limits are based oncalculated quartiles and not randomly defined. To conclude, thepresented computer-implemented method for successful implementations ofprojects, product or service developments or even of new business modelsdemands, contains a scalable and reproducible deduction of technicalconcerns. After the identification and classification of the technicalboundary conditions, in a first step, technical requirements are deducedin an automated software-based process. In a further step of thisautomated software-based process, these technical requirements aremapped to engineering artifacts and concerns. In some embodiments, thededuced engineering artifacts are further mapped to responsibilities.This process can be followed by an evaluation step that is based onsoftware metrics. In some embodiments, the evaluation results are usedto adapt the initial classification of the technical boundary conditionsin several iterations.

In some embodiments, the method is suitably executed by a computersystem comprising a classifier software component for the classificationof the technical boundary conditions, a calculation software componentfor the deduction of the technical requirements and at least one mappingsoftware component for mapping the technical requirements to engineeringartifacts, disciplines and concerns. In some embodiments, the computersystem further comprises an I/O-component for receiving the technicalboundary conditions data and for providing the calculation results. Thecomputer system comprises at least a storage component, the storagecomponent e.g. comprising at least a data base containing relevant datafor the mapping processes. In some embodiments, the components arecombined in a first subsystem. In some embodiments, a second subsystemprovides a distribution calculator software component for thedistribution of the classifications, which is a calculation ofsingle-selection combinations and/or a calculation of distribution andquartiles. The distribution calculation results are stored in thestorage component. In some embodiments, the first subsystem comprises anevaluation software component for subjecting these results to a metricbased ranking. The I/O-component provides scalable and reproduciblecalculation results.

LIST OF REFERENCE SIGNS

-   EC Engineering goal calculator/calculation-   DC Distribution calculator/calculation, Definition-   stor Data storage-   dis Distributor, e.g. project distribution-   I/O Input/Output, user interface-   clas Classification, e.g. project classification-   pre presentation-   agg aggregator-   req requirements, e.g. engineering requirements-   art artifacts, e.g. quality, automation, grade, valuation,    collaboration-   1 first subsystem-   2 second subsystem-   con concept, e.g. project idea, development plan, business model    canvas, comprising several Building blocks (BB)-   BBR Building Block Refinements-   SEBB Software Engineering Building Blocks-   map-con concept-to-requirements-mapping: technical requirements are    deduced in an automated software-based process-   map-req requirements-to-engineering-artifacts-mapping: technical    requirements are mapped to engineering artifacts-   CA core artifacts-   SEC software engineering template or canvas

1. A computer-implemented method for automatic derivation of attributesof software engineering artifacts, which attributes arise from technicalboundary condition of products or services, the method comprising:deducing technical requirements based on classifications of thetechnical boundary conditions; mapping the deduced technicalrequirements of the artifacts to engineering disciplines and concerns;mapping the calculated engineering artifacts to responsibilities;adapting the classification of the technical boundary conditions basedon the evaluation results in iterations; calculating a distribution ofthe classification space based on a calculation of a multi-selection intechnical boundary taxa; and calculate distribution and quartiles.
 2. Acomputer-implemented method according to claim 1, wherein mapping of thededuced technical requirements of the artifacts to engineeringdisciplines and concerns at first is kept between a segment choice ofthe technical requirements and at second for each multi-selectionpossibility per segment, the relations to all engineering disciplinesand concerns are counted.
 3. A computer-implemented method according toclaim 1, further comprising: evaluating a specific multi-selection,wherein the relationships, built in the mapping step, are counted andrelated to the distribution of possible multi-selections split up intoquartiles; and selecting a quartile based on technical requirements,wherein the quartile definition is based on a calculated distributionwhich entails an algorithm considering all selection possibilities ofthe classification space.
 4. A computer-implemented method according toclaim 1, further comprising evaluating the mapping results based onsoftware metrics measuring completeness selectivity of the mapping.
 5. Acomputer-implemented method according to claim 1, wherein thedistribution calculation of the classification space is based on acalculation of weighted multi-selection in technical boundary taxa and acalculation of distribution and quartiles.
 6. A computer-implementedmethod according to claim 1, further comprising placing a weight on theselection of a technical boundary condition based on technicalrequirements; wherein the weight is multiplied with the weight of thecombination created by the multi-selection and used the resulting valueto look up the quartile in the distribution.
 7. A computer-implementedmethod according to claim 1, further comprising placing a weight isplaced on the relation between the engineering disciplines and concernsand the products or services development requirements; wherein therelation weight is used as a count absorbed by the weight calculation.8. A computer-implemented method according to claim 1, furthercomprising storing the distribution calculation results and evaluatingthe results for further subjecting the calculation results to a metricbased ranking.
 9. A computer system for automatic derivation of softwareengineering artifacts, the system comprising: a first subsystem with thecomponents; a classifier software component for classification oftechnical boundary conditions; a calculation software component fordeduction of technical requirements; a first mapping software componentfor mapping the technical requirements to engineering artifacts; anI/O-component for receiving technical boundary conditions data and forproviding the calculation results; a storage component; and a secondsubsystem providing a distribution calculator software component for thedistribution of the classifications; wherein the distribution calculatorsoftware component for the distribution of the classifications providesa calculation of multi-selection and a calculation of distribution andquartiles.
 10. A computer system according to claim 9, wherein thedistribution calculator software component for the distribution of theclassifications provides a calculation of weighted multi-selectioncombinations and a calculation of distribution and quartiles.
 11. Acomputer system according to claim 9, wherein the storage componentcomprises at least a data base containing relevant data for the mappingprocesses.
 12. A computer system according to claim 9, wherein thedistribution calculator software component has access to the storagecomponent for storing the calculation results.
 13. A computer systemaccording to claim 9, wherein the first subsystem comprises anevaluation software component for subjecting the calculation results toa metric based ranking.
 14. A non-transitory executable computer programproduct comprising instructions which, when the program is executed by acomputer, cause the computer to: deduce technical requirements based onclassifications of the technical boundary conditions; map the deducedtechnical requirements of the artifacts to engineering disciplines andconcerns; map the calculated engineering artifacts to responsibilities;adapt the classification of the technical boundary conditions based onthe evaluation results in iterations; calculating a distribution of theclassification space based on a calculation of a multi-selection intechnical boundary taxa; and calculate distribution and quartiles.